在前兩天中,我們開發了天氣資訊的 DAG,我們知道在軟體工程的實踐中,開發只是一個部分,開發完成之後,後續的維運、監控以及持續的修正也是非常的重要。Airflow 很強大的一點是他很豐富的圖形介面資源,讓開發者以及維運者能夠藉此觀察 DAG 運作情形。
首先我們來看一下功能強大的 Grid View ,在過去 Airflow 是使用 Tree View 來操作相關的監控,但到了版本 2.3 之後,Airflow 改以 Grid View 代替。要進入 Grid 的介面,我們可以想要查看的 DAG 的名稱,在這邊我們點擊 weather_dag。
點擊進去之後可以看到一個整體概覽的頁面,預設會先進入 Grid View。
在還沒點選任何選項時,我們可以看到weather_dag 的總表(上圖),左邊中間的執行結果圖表中,我們可以看到在 filter 範圍內所涵蓋的 DAG_run 狀態,這邊的 DAG Run ,表示的是每個 DAG 執行的結果。想要更改選擇範圍我們可以更改 Filter 選項進行更改。而在左邊狀態列我們可以看到整體執行的狀況。我們可以藉此掌控整體的執行狀況。
我們再來細部的看一下執行結果的那個表格,在最上面的 Row可以看到執行時間,如果有執行時間過長或是狀態特殊的話可以細部查看。在執行結果圖表中也會看到各個DAG Run 以及 Task 執行結果。如果想要細部看某個 DAG 狀態,我們可以點擊想要查看的 DAG_run,在右邊的資訊欄會出現相關資訊(下圖)。
上圖看到的是整個 DAG Run 的狀態,而如果想要針對 DAG 有問題的 Task 進行細部的查看。我們可以先點擊右邊狀態區域上的 Graph 選項 (下圖),系統會顯示 DAG 的流程圖形。對於想要偵測的 Task 我們可以點選右邊 Task 圖形之後點選 Detail 選項。
點擊 Detail 之後我們就可以看到 Task 的執行資訊。這邊也有另外一種進入頁面的方法,就是直接點擊左方執行結果表格的 Task 圖示。
而想要看細部的 log 也可以透過這個介面的 log 頁面進行查看。
透過 Grid View 的功能,我們可以很方便的監控 DAG Run 的整體狀況,也可以針對想要查看的 Task 很方便的查詢執行狀態。
在 View 選擇列上我們可以看到許多不同的 View ,我們可以針對狀況使用不同的View。
Graph View 是之前我們在開發時常使用查看的 View,可以針對單個 DAG 執行狀態與流程進行查看。
透過 Calendar View 可以以日期為單位監控執行狀態。
Task Duration View 可以幫助我們分析Task 執行時間。
Task Tries View 提供我們 Task 執行次數分析。
Gantt View 提供執行的 Gantt 圖,以另一種方式理解執行流程資訊。
今天我們了解了 Airflow 提供的強大的監測介面,由於其完整的圖表以及顯示,想信許多公司或團隊也是因此選擇使用Airflow 作為 Data pipeline 的建置平台吧!我們熟悉了這些 View 之後,對於自己的資料專案的監控,相信也會得到不少幫助!